package com.enjoyor.soa.traffic.api.service.dubbo.vcsp;

import com.enjoyor.soa.traffic.api.dto.vcsp.ProxyInfoDto;
import com.enjoyor.soa.traffic.util.pojo.Page;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

/**
 * 
 * @ClassName: DubboProxyInfoService
 * @Description: 车管所文件转存-中心服务-代理信息服务
 * @author: Administrator
 * @date: 2019年2月21日 下午2:23:46
 */
public interface DubboProxyInfoService {

	/**
	 * 
	 * @Title: getProxyInfoList
	 * @Description: 获取代理信息列表
	 * @param proxy_id 代理编号
	 * @param proxy_name 代理名称
	 * @param proxy_ip 服务器ip
	 * @param proxy_key 服务器标识
	 * @return
	 * @return: ResultPojo
	 */
	public ResultPojo getProxyInfoList(String systemKey, String token, String proxy_id, String proxy_name, String proxy_ip, String proxy_key);
	
	/**
	 * 
	 * @Title: getProxyInfoList
	 * @Description: 获取代理信息列表
	 * @param proxy_id 代理编号
	 * @param proxy_name 代理名称
	 * @param proxy_ip 服务器ip
	 * @param proxy_key 服务器标识
	 * @param page 分页
	 * @return
	 * @return: ResultPojo
	 */
	public ResultPojo getProxyInfoPage(String systemKey, String token, String proxy_id, String proxy_name, String proxy_ip, String proxy_key,
									   Page page);
	
	/**
	 * 
	 * @Title: insertProxyInfo
	 * @Description: 新增代理信息
	 * @param proxy 代理信息
	 * @return
	 * @return: ResultPojo
	 */
	public ResultPojo insertProxyInfo(String systemKey, String token, ProxyInfoDto proxy);
	
	/**
	 * 
	 * @Title: updateProxyInfo
	 * @Description: 更新代理信息
	 * @param proxy 代理信息
	 * @return
	 * @return: ResultPojo
	 */
	public ResultPojo updateProxyInfo(String systemKey, String token, ProxyInfoDto proxy);

	public ResultPojo updateCenterInfo(String systemKey, String token, ProxyInfoDto proxy);

	/**
	 * 
	 * @Title: deleteProxyInfo
	 * @Description: 删除代理信息
	 * @param systemKey
	 * @param token
	 * @param proxy_id
	 * @return
	 * @return: ResultPojo
	 */
	public ResultPojo deleteProxyInfo(String systemKey, String token, String proxy_id);
	
	/**
	 * 
	 * @Title: getProxyFileZiseCount
	 * @Description: 获取文件数量总量
	 * @return
	 * @return: ResultPojo
	 */
	public ResultPojo getProxyFileZiseCount(String systemKey, String token);
	
	/**
	 * 
	 * @Title: getProxyFileZiseMax
	 * @Description: 获取参数最大的代理
	 * @param systemKey
	 * @param token
	 * @param type 传参数名，如file_total_count:文件总数,file_total_size：文件总量,
	 * upload_count：上传总数,upload_size：上传总量,
	 * unup_count：未上传总数,unup_size：未上传总量
	 * @return
	 * @return: ResultPojo
	 */
	public ResultPojo getProxyFileZiseMax(String systemKey, String token, String type);
	
	/**
	 * 
	 * @Title: getProxyStatusCount
	 * @Description: 获取代理服务和代理服务器的状态数量
	 * @param systemKey
	 * @param token
	 * @param 
	 * @return
	 * @return: ResultPojo
	 */
	public ResultPojo getProxyStatusCount(String systemKey, String token);
}
